package com.example.test006;

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

/**
 * 练习Executors获取ExecutorService，然后调用方法提交任务
 */
public class MyTest02 {
    public static void main(String[] args) {
//      1.使用工厂类获取线程池对象   此时线程池中最多有三个线程
        ExecutorService executorService = Executors.newFixedThreadPool(3);
//      2. 提交任务：
        for (int i=0; i<10;i++){
            MyRunnable02 myRunnable = new MyRunnable02(i);
            executorService.submit(myRunnable);
        }
    }
}

/**
 * 任务类：包含一个任务编号，在任务中打印出是哪一个线程正在执行任务
 */
class MyRunnable02 implements Runnable{

    private int id;

    @Override
    public void run() {
//     获取线程的名称，打印一句话
        String name = Thread.currentThread().getName();
        System.out.println(name+"执行了任务...."+id);
    }

    public MyRunnable02(int id) {
        this.id = id;
    }
}
